Ich habe mich in letzter Zeit mit JSI und C beschäftigt und als Ergebnis musste ich ein kleines Paket namens „react-native-lz4“ erstellen. Es handelt sich um eine Bibliothek für die schnelle Dateikomprimierung in React Native unter Verwendung des in C geschriebenen LZ4-Algorithmus.
Es ist noch experimentell, da ich noch an der Fehlerbehandlung arbeite und die API erweitere, aber es kann bereits verwendet werden (mit Vorsicht!)
Paket: https://github.com/mateoguzmana/react-native-lz4
Mehr über LZ4 erfahren Sie auf der Website: https://lz4.org/
Das Paket unterstützt sowohl die alte als auch die neue Architektur und stellt derzeit zwei Hauptfunktionen zum Komprimieren und Dekomprimieren beliebiger Dateitypen bereit.
Grundlegendes Beispiel:
import { compressFile, decompressFile } from 'react-native-lz4'; function onProgress(processedSize: number, totalSize: number) { // e.g. { processedSize: 50, totalSize: 100, progress: '50%' } console.log({ processedSize, totalSize, progress: `${Math.round((processedSize / totalSize) * 100)}%`, }); } const compressionResult = await compressFile( 'path/to/file', 'path/to/output', onProgress ); const decompressionResult = await decompressFile( 'path/to/file', 'path/to/output', onProgress ); console.log(compressionResult); // { success: true, message: 'File compressed successfully', originalSize: 100, finalSize: 50 } console.log(decompressionResult); // { success: true, message: 'File decompressed successfully', originalSize: 50, finalSize: 100 }
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3